//
//  AFFRichTextURL.h
//  AnyfishApp
//
//  Created by Bob Lee on 14-4-18.
//  Copyright (c) 2014年 Anyfish. All rights reserved.
//

#import "AFFRichTextBase.h"


@interface AFFRichTextURL : AFFRichTextBase

/**
 * @function
 * 说明 根据消息内容类型，取出消息对应文本数组，组合文本内容，并记录特殊文本在组合文本中的range
 * @param allInfo 这条消息关联的所有数据，其地下还有图片Array、评论Array、点赞Array等。点赞时是将所有传入，评论一次只会传入一条评论
 * @param urlArray 对应返回消息的每个组合数据中的url描述，这是一个两层数组，第一层与返回对应，第二层为返回组合消息中某条消息的所有url描述。当然如果只是为了计算高度这个值是不需要的
 * @param getRepText 是否合并回复内容，仅回复类型使用
 
 * @return 所有条消息组合数据。序列与评论顺序一样可能是存放的文本描述的类型可能是［_Mesace_Action_Comment,_Mesace_Action_Comment,_Mesace_Action_Answer,...],
 显示的时候，每一条就是从新开始的一行。点赞只能是一行
 */
//+ (NSString *)analyzeText:(NSArray *)allInfo runsArray:(NSMutableArray **)urlArray actionType:(S32)actionType getRepText:(BOOL)getRepText;

// 可以返回原始文本
//+ (NSArray *)analyzeTextEx:(NSArray *)allInfo runsArray:(NSMutableArray **)urlArray actionType:(S32)actionType getRepText:(BOOL)getRepText;

/**
 * @function
 * 说明 返回可重新拉取显示信息的对象，特殊处理，评论，点赞，回复等提前解析名称中得特殊表情 仅支持插入UrlRun
 
 * @param allInfo   需要解析的对象链
 * @param urlArray  解析后得到富文本特殊信息
 * @param actionType 需要解析的类型
 * @param getRepText 是否这行显示（用于鱼圈详细）
 
 * @return 可在此拉取消息的对象
 */
//+ (AFFDataText *)analyzeTextObj:(NSArray *)allInfo actionType:(S32)actionType getRepText:(BOOL)getRepText;

/**
 * @function
 * 说明 将特殊显示的组合消息对象转换出富文本信息，以便特殊显
 * @param msgText 显示文本组合对象
 * @param urlArray 解析后得到富文本特殊信息
 
 * @return
 */
+ (void)analyzeTextObjEx:(AFFDataText*)msgText runsArray:(NSMutableArray **)urlArray;

+ (NSString*)analyzeText:(AFFDataPartion*)partion runsArray:(NSMutableArray **)urlArray;

@end
